The present invention relates to a method for modifying model gain matrices. In particular, the present invention relates to model predictive process control applications, such as Dynamic Matrix Control (DMC or DMCplus) from Aspen Technology (See e.g. U.S. Pat. No 4,349,869) or RMPCT from Honeywell (See e.g. U.S. Pat. No. 5,351,184). It could also be used in any application that involves using a Linear Program to solve a problem that includes uncertainty (for example, planning and scheduling programs such as Aspen PIMS™).
Multivariable models are used to predict the relationship between independent variables and dependent variables. For multivariable controller models, the independent variables are manipulated variables that are moved by the controller, and the controlled variables are potential constraints in the process. For multivariable controllers, the models include dynamic and steady-state relationships.
Most multivariable controllers have some kind of steady-state economic optimization imbedded in the software, using economic criteria along with the steady-state information from the model (model gains). This is a similar problem to planning and scheduling programs, such as Aspen PIMS, that use a linear program (LP) to optimize a process model matrix of gains between independent and dependent variables.
For process models, there is almost always some amount of uncertainty in the magnitude of the individual model relationships. When combined into a multivariable model, small modeling errors can result in large differences in the control/optimization solution. Skogestad, et al., describes the Bristol Relative Gain Array (RGA) to judge the sensitivity of a controller to model uncertainty. The RGA is a matrix of interaction measures for all possible single-input single-output pairings between the variables considered. He states that large RGA elements (larger than 5 or 10) “indicate that the plant is fundamentally difficult to control due to strong interactions and sensitivity to uncertainty.” For a given square model matrix G, the RGA is a matrix defined byRGA(G)=G×(G−1)T where x denotes element by element multiplication (Schur product). In the general case, the model G can be dynamic transfer functions. For the purposes of explaining this invention we only consider the steady-state behavior of the controller, and the model G is only a matrix of model gains, but the invention not intended to be so limited.
Two main approaches for dealing with these sensitivity problems (indicated by large RGA elements) are possible. One approach is to explicitly account for model uncertainty in the optimization step (See e.g. U.S. Pat. No. 6,381,505). Another approach is to make small changes to the model, ideally within the range of uncertainty, to improve the RGA elements. The present invention is a process for implementing the second approach.
Current manual methods for model gain manipulation present some difficulties. Typically the user will focus on individual 2×2 “problem” sub-matrices within the overall larger matrix that have RGA elements above a target threshold. The user can change the gains in a given “problem” sub-matrix to either force collinearity (make the sub-matrix singular) or spread the gains to make the sub-matrix less singular. Applying this process sequentially to all problem sub-matrices is very time-consuming due to the iterative nature of the work process. Depending on the density of the overall matrix, changing one gain in the matrix may affect many 2×2 sub-matrices. In other words, improving (decreasing) the RGA elements for one 2×2 sub-matrix may cause RGA elements in another 2×2 sub-matrix to become worse (increase). Often after one round of repairing problem sub-matrices, sub-matrices which had elements below the target threshold will now have RGA elements above the target value. Additional iterations of gain manipulation need to be done without reversing the fixes from the previous iterations. This often forces the user to make larger magnitude gain changes than desired or necessary.
It is also possible to automate the manual process described above. A computer algorithm can be written to automate the manual method using a combination of available and custom software. Typically, such a computer program will adjust the gains based on certain criteria to balance the need for accuracy relative to the input model and the extent of improvement in the RGA properties required. Optimization techniques can be employed to achieve this balance. These algorithms are iterative in nature, and can require extensive computing time to arrive at an acceptable solution. They may also be unable to find a solution which satisfies all criteria.
In practice, the modification of a matrix to improve its RGA properties is often neglected, resulting in relatively unstable behavior in the optimization solution, particularly if a model is being used to optimize a real process and model error is present.